#ifdef SU1
//#define _GLIBCXX_DEBUG
#endif

#include <algorithm>
#include <bitset>
#include <cassert>
#include <climits>
#include <cstring>
#include <cstdio>
#include <ctime>
#include <cstdlib>
#include <cmath>
#include <fstream>
#include <iostream>
#include <iomanip>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <stack>
#include <set>
#include <string>
#include <utility>
#include <vector>

using namespace std;

#define forn(i, n) for (int i = 0; i < int(n); i++)
#define forl(i, n) for (int i = 1; i <= int(n); i++)
#define ford(i, n) for (int i = int(n) - 1; i >= 0; i--)
#define fore(i, l, r) for (int i = int(l); i <= int(r); i++)
#define pb(a) push_back(a)
#define mp(x, y) make_pair((x), (y))
#define sz(a) (int) (a).size()
#define all(a) (a).begin(), (a).end()
#define ft first
#define sc second
#define x first
#define y second

template<typename X> inline X abs(const X& a) { return a < 0 ? -a : a; }
template<typename X> inline X sqr(const X& a) { return a * a; }

typedef long long li;
typedef long double ld;
typedef pair<int, int> pt;

const int INF = int(1e9);
const li INF64 = li(1e18);
const ld PI = acosl(ld(-1));
const ld EPS = 1e-9;

int myrand() {
	return abs((rand() << 16) ^ rand());
}

const int N = 100500;
int n, m;
int x[N], y[N];

inline bool read()
{
	assert(scanf("%d%d", &m, &n) == 2);
	forn(i, n) {
		assert(scanf("%d%d", &x[i], &y[i]) == 2);
		//x[i] = 0;
		//y[i] = m - 1;
	}
	return true;
}

map<int,int> mt;
int used2[N], cused2, cused, used[N];

bool go(int v) {
	if (used[v] == cused) return false;
	used[v] = cused;
	int cur = x[v];
	while (true) {
		int to = cur;	
		if (mt.count(to) == 0 || go(mt[to])) {
			mt[to] = v;
			return true;
		}
		if (cur == y[v])
			break;
		cur++;
		if (cur >= m) cur -= m;
	}
	return false;
}

inline void solve()
{
	mt.clear();
	cused2++;
	bool cont = true;
	int cnt = 0;
	while (cont) {
		cont = false;
		cused++;
		forn(i, n) {
			if (used2[i] == cused2) continue;
			if (go(i)) {
				cnt++;
				used2[i] = cused2;
				cont = true;
			}
		}
	}
	puts(cnt == n ? "YES" : "NO");
}

int main()
{
#ifdef SU1
	assert(freopen("input.txt", "rt", stdin));
//	assert(freopen("output.txt", "wt", stdout));
#endif

	cout << fixed << setprecision(10);
	cerr << fixed << setprecision(5);

	int T;
	assert(scanf("%d", &T) == 1);
	
	forn(i, T) {
		assert(read());
		solve();
	}
	
#ifdef SU1
	cerr << "=== TIME : " << clock() << " ===" << endl;
#endif
	return 0;
}
